<?php
	class Produto{
	
	//atributos da classe Produto
		private $nome;
		private $descricao;
		private $ncmsh;
		private $unidade;
		private $estoque;
		private $valor;
				
	//metodo construtor da classe Produto	
		public function Produto(){		 	
		}
		
		//metodos set para todos os atributos
		public function setNome($nome){
			$this->nome = $nome;		
		}

	//metodos set para todos os atributos
		public function setDescricao($descr){
			$this->descricao = $descr;		
		}
		
	//metodos set para todos os atributos
		public function setNcmsh($ncmsh){
			$this->ncmsh = $ncmsh;		
		}
		
		public function setUnidade($unidade){
			$this->unidade = $unidade;		
		}
		
		public function setEstoque($estoque){
			$this->estoque = $estoque;		
		}
		
		public function setValor($valor){
			$this->valor = $valor;		
		}
			
	//metodos get para todos os atributos
		public function getNome(){
			return $this->nome;
		}
			
	//metodos get para todos os atributos
		public function getDescricao(){
			return $this->descricao;
		}
		
	//metodos get para todos os atributos
		public function getNcmsh(){
			return $this->ncmsh;
		}
		
		public function getUnidade(){
			return $this->unidade;
		}
		
		public function getEstoque(){
			return $this->estoque;		
		}
		
		public function getValor(){
			return $this->valor;		
		}
		
		public function cadProduto($banco){
			try{
				$banco->conecta();
				$sql = "INSERT INTO produto(id, nome, descricao, ncmsh,unidade, quantidade_em_estoque, valor_venda_tabela) VALUES ('NULL', '$this->nome', '$this->descricao', '$this->ncmsh', '$this->unidade', '$this->estoque', '$this->valor')";
				if($banco->updateSQL($sql)){
					return true;
				}else{
					return false;
				}
				$banco->desconecta();
			}catch(exception $e){
				echo $e->getmessage();
			}
		}
		
		public function getAllProdutos($banco){
			try{
				$banco->conecta();
				$sql = "SELECT id, nome FROM produto ORDER BY nome";
				$retorno = $banco->executaSQL($sql);
				if($retorno != false){
					return $retorno;
				}else{
					return false;
				}
				$banco->desconecta();
			}catch(exception $e){
				echo $e->getmessage();
			}
		}
		
		public function getDadosProduto($banco,$id){
			try{
				$banco->conecta();
				$sql = "SELECT * FROM produto WHERE id = '$id'";
				$retorno = $banco->executaSQL($sql);
				if($retorno != false){
					return $retorno;
				}else{
					return false;
				}
				$banco->desconecta();
			}catch(exception $e){
				echo $e->getmessage();
			}
		}
		
		//metodo para pesquisar o nome do produto
		public function getInformacoesProduto($banco,$id){
			try{
				$banco->conecta();
				$sql = "SELECT nome,ncmsh,unidade FROM produto WHERE id = '$id'";
				$retorno = $banco->executaSQL($sql);
				if($retorno != false){
					return $retorno;
				}else{
					return false;
				}
				$banco->desconecta();
			}catch(exception $e){
				echo $e->getmessage();
			}
		}
		
			public function alteraProduto($banco,$id){
			try{
				$banco->conecta();
				$sql = "UPDATE produto SET nome = '$this->nome', descricao = '$this->descricao', ncmsh = '$this->ncmsh', unidade = '$this->unidade', quantidade_em_estoque = '$this->estoque', valor_venda_tabela = '$this->valor' WHERE id = '$id'";
				//echo("$sql");
				if($banco->updateSQL($sql)){
					return true;
				}else{
					return false;
				}
				$banco->desconecta();
			}catch(exception $e){
				echo $e->getmessage();
			}
		}
		 
		 
		 public function excluirProduto($banco, $id){
			try{
				$banco->conecta();
				$sql="DELETE FROM produto WHERE id = '$id'";
				if($banco->updateSQL($sql)){
	
						return true; 
	
					}
				else{
					return false;
				}
				$banco->desconecta();
			}catch(exception $e){
				echo $e->getmessage();
			}
		} 
		 
	}

?>